Efficient transfers of data between a central server system and remote sites require a high bandwidth capability. At one time, a 14.4 kbps connection was believed to provide sufficient bandwidth for most users connected to a server system. However, adding graphics, video and/or audio files to text files certainly taxes the capability of such a connection. Moreover, the popularity of Internet applications, such as the World Wide Web, has threatened to overload the capacity of existing communication lines.
Industries such as the cable and telephone industries have introduced technologies and equipment to address bandwidth concerns. Cable operators and telephone carriers offer broadband data services via local access networks (e.g., ADSL, ISDN, Cable and wireless LMDS) to residential subscribers in order to provide the subscribers with direct, high-speed access to a variety of local community content, such as bulletin boards, news, and advertisements. In addition, the local access networks provide the residential subscribers with availability to commercial on-line service providers and the global Internet. Integrated Services Digital Network (ISDN) connections reach transfer speeds of 128 kbps and cable modems reach speeds of 10 Mbps.
A data access system is comprised of a server system and a high speed network that connects the server system to subscriber premises. The server system may be located within the premises of a cable operator or located at the central office of a telephone carrier. The server system includes content servers that store data for transfer to remote sites, such as the residences, schools, or offices of subscribers. In an Internet environment, the content servers typically utilize Internet applications, such as electronic mail, bulletin boards, news groups, and World Wide Web access. In addition to on-premises servers, a data access system may control access to remote servers. For example, a server system may have a Proxy server that allows a network administrator to restrict access to the Internet. Another use of a Proxy server is to cache frequently accessed data from the Internet.
Other components that are typical of server systems are a firewall that controls access to and from the system, a switching device for routing transmissions to and from subscribers, and a gateway device that routes packets to and from the global Internet and commercial on-line service providers.
Subscribers perceive performance of a data access system in various ways. Data transfer throughput is one of the predominant measures of performance as perceived by a subscriber. Data throughput is the rate at which data is transferred between the server system and a remote PC of a subscriber. As an example, when a subscriber initiates a file transfer using the File Transfer Protocol (FTP), data throughput is the ratio of the bytes transferred by the FTP (including any FTP header overheads) to the total time taken for the file transfer.
Since throughput provides an assessment of subscriber satisfaction, throughput monitoring is of interest to data service operators. In conventional local area data networks, several tools have been developed for monitoring data transfer throughput. Typically, the tools assess achievable throughput by simulating traffic on the network. There are at least two known types of active throughput testing tools. A first type of active throughput testing emulates data transfers over the TCP/IP protocols and can be executed from the server to measure downloading rates and/or from the premises of a subscriber to measure uploading rates. Tools of this type include Netperf, throughput TCP, and Traceroute Reno (treno). The second type of active throughput testing tool emulates typical user accesses to measure throughput to selected Web servers. Such a tool is described in a May 28, 1996 press release by Anacapa Software entitled "NetScore Intelligent Agent Tracks Users Response Time to Intranet/lnternet Servers, File Servers, IP Hosts and SNA Mainframes."
In order to determine throughput on a site-by-site basis, the simulated traffic must be sent to or received from each subscriber site. Thus, the overhead of traffic generation grows proportionally with the number of subscriber sites that must be monitored. Perhaps more importantly, during high network loads the additional traffic imposed on the network for active monitoring can drastically reduce throughput to and from subscriber sites and can result in inaccuracies in the throughput measurements. Another concern is that these monitoring approaches require support for special applications at the servers and/or subscriber sites, solely for the purpose of monitoring throughput.
A round-trip delay measurement approach that is referred to as "non-intrusive" is described in U.S. Pat. No. 5,521,907 to Ennis, Jr. et al. Separate probes are positioned at selected monitoring points along a communication network. The probes receive identifiable data patterns normally transmitted over the communications network and generate a time stamp when each of the identifiable data patterns arrives at or leaves the selected monitoring point. Each probe also generates a pattern-identifier that is based on the data in the pattern. The pattern identifier and the time stamp are stored as a pair in an internal buffer. After the internal buffers of the two probes exceed a predetermined amount of data, a processor receives the data from the buffers and matches the pattern-identifiers of the two buffers. The matches locate the departure and arrival time stamps of each pattern traveling between the two monitoring points. The processor then calculates an average of round-trip delay or travel times based on the departure and arrival time stamps of several patterns traveling in both directions between the probes.
While the Ennis, Jr. et al. approach operates well for its intended purpose, the method requires probes to be connected at each site to which monitoring is to be implemented. Thus, each remote site must include a probe and its circuitry if the approach is to enable site-by-site evaluation. Moreover, since the approach requires a processor to match the patterns and compare the time stamps, the patterns and time stamps of at least one of the probes must be transmitted to the processor. This requires that the communication lines be utilized for the transmission. Consequently, a portion of the limited resources of the communications network being monitored must be temporarily dedicated to the monitoring process. Importantly, the throughput achievable on the network cannot be estimated based upon round-trip times alone. Since the method of Ennis, Jr. et al. only considers specific packets and not all packets, and since this method does not take into account packet retransmissions and other characteristics of the transport protocol (e.g., timeout delays), the method cannot directly be used for throughput measurements which refer to the rate of useful data delivery.
What is needed is a method and system for transferring data from at least one content server (such as a World Wide Web server) to various remote sites, with the system and method being passive with respect to monitoring throughput and without requiring monitoring equipment at each remote site.